home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / lib / udev / firmware.agent < prev    next >
Encoding:
Text File  |  2010-12-12  |  787 b   |  36 lines

  1. #!/bin/sh -e
  2. #
  3. # firmware loader agent
  4. #
  5.  
  6. cd /lib/udev/
  7. . ./hotplug.functions
  8.  
  9. if [ ! -e /sys/$DEVPATH/loading ]; then
  10.     mesg "/sys/$DEVPATH/ does not exist"
  11.     exit 1
  12. fi
  13.  
  14. FIRMWARE_DIRS="/lib/firmware/$(uname -r) /lib/firmware /usr/local/lib/firmware /usr/lib/hotplug/firmware"
  15.  
  16. for DIR in $FIRMWARE_DIRS; do
  17.     [ -e "$DIR/$FIRMWARE" ] || continue
  18.     echo 1 > /sys/$DEVPATH/loading
  19.     cat "$DIR/$FIRMWARE" > /sys/$DEVPATH/data
  20.     echo 0 > /sys/$DEVPATH/loading
  21.     exit 0
  22. done
  23.  
  24. # the firmware was not found
  25. echo -1 > /sys/$DEVPATH/loading
  26.  
  27. if [ -d /dev/.udev/ ]; then
  28.     mkdir -p /dev/.udev/firmware-missing/
  29.     file=$(echo "$FIRMWARE" | sed -e 's#/#\\x2f#g')
  30.     ln -s -f "$DEVPATH" /dev/.udev/firmware-missing/$file
  31. fi
  32.  
  33. debug_mesg "Cannot find the $FIRMWARE firmware"
  34. exit 1
  35.  
  36.